package jukebox.model.member;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import jukebox.model.common.CommentVO;
import jukebox.model.common.PagingBean;
import jukebox.model.qnaboard.QnABoardVO;

public interface MemberDAO {

	/**
	 * @author 김지정
	 * @since 2014-06-23
	 * @param mvo : 등록될 회원 정보
	 * @comment : 회원가입 메서드
	 */
	public void registerMember(MemberVO mvo); //회원가입

	public void updateMember(MemberVO mvo); //회원정보수정

	public void dropoutMember(String id); //회원탈퇴

	public List<MemberVO> allMemberList(PagingBean pb); //회원관리 리스트

	public int contentCount(); //회원관리 리스트 페이징처리를 위한 게시물 수 
	
	public int checkId(String id); // 아이디 체크

	public int checkNickname(String nickname); //닉네임 체크

	public int checkPassword(MemberVO mvo); //비밀번호 확인

	public MemberVO login(MemberVO mvo); //로그인

	public void dropoutMemberByAdmin(String id); //관리자가 회원 강제탈퇴
	
	public List<MemberVO> myBoardList(HashMap map); //아이디로 게시글 찾기
	
	public int myBoardListById(String id); // 아이디로 검색된 자유 게시물 수
	
	public int myqnaBoardCountbyId(String id); // 아이디로 검색된 qna 게시물 수
	
	public List<QnABoardVO> myqnaBoardListbyId(HashMap map);
	
	public MemberVO findId(String id);

	public List<MemberVO> getRankListByLike();

	public int myqnaCommentCountbyId(String id); //아이디로 Q&A 댓글  수 찾기

	public List myqnaCommentListbyId(HashMap map);  // 아이디로 Q&A 댓글 찾기

	public int myFreeBoardCommentCountbyId(String id); //아이디로 freeBoard 댓글  수 찾기

	public List myFreeBoardCommentListbyId(HashMap map); // 아이디로 freeBoard 댓글 찾기
	
	public int myMusicCommentCountbyId(String id); //아이디로 musicBorad 댓글  수 찾기
	
	public List<CommentVO> findMyMusicCommentListPerPage(HashMap map); // 아이디로 musicBorad 댓글 찾기

	public int getMyMusicContentCountById(String id); //아이디로 myMusic 게시물 수 찾기

	public List getMyMusicContentListById(HashMap map); //아이디로 myMusic 게시물  찾기

}